A common approach to scaling transactional databases in practice ishorizontal partitioning, which increases system scalability, high availabilityand self-manageability. Usu- ally it is very challenging to choose or design anoptimal partitioning scheme for a given workload and database. In thistechnical report, we propose a fine-grained hyper-graph based databasepartitioning system for transactional work- loads. The partitioning systemtakes a database, a workload, a node cluster and partitioning constraints asinput and out- puts a lookup-table encoding the final database partitioningdecision. The database partitioning problem is modeled as a multi-constraintshyper-graph partitioning problem. By deriving a min-cut of the hyper-graph, oursystem can min- imize the total number of distributed transactions in theworkload, balance the sizes and workload accesses of the partitions and satisfyall the partition constraints imposed. Our system is highly interactive as itallows users to im- pose partition constraints, watch visualized partitioningef- fects, and provide feedback based on human expertise and indirect domainknowledge for generating better partition- ing schemes.
展开▼